`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date:    02:18:38 09/21/2012 
// Design Name: 
// Module Name:    Comprobador_de_Memoria 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//////////////////////////////////////////////////////////////////////////////////
module Comprobador_de_Memoria(_clk_i,Input_Parameter_i,value_io,_rst_i,
										led_leer_o, led_escribir_o, led_OK_o, led_fallo_o,value_display_o,display_dos_o,direccion_o);

	//ENTRADAS
	//Clock
	input _clk_i;
	//Valores de Modulos
	input [1:0] Input_Parameter_i;
	inout [7:0] value_io;
	//RESET
	input _rst_i;
	
	//SALIDAS
	//Leds
	output wire led_leer_o,led_escribir_o,led_OK_o,led_fallo_o,display_dos_o;
	output wire [3:0] value_display_o, direccion_o;
	
	//WIRES
	wire _clk_seg_o,wire_escriba,wire_lea,wire_end,wire_fail;
	//wire [3:0] display_escribir_o, display_leer_o;
	//wire display_dos_escribir, display_dos_leer;
	//wire [3:0] direccion_escribir, direccion_leer;
	//wire [4:0] value_escribir_o, value_leer_i;
	
	//LLAMADAS A MODULOS
	//Divider
	Divider Divisor(._clk_i(_clk_i),._clk_seg_o(_clk_seg_o));
	
	//Escritura
	//escritura Writer(._clk_seg_i(_clk_seg_o), .Input_Parameter_i(Input_Parameter_i), .escriba_i(wire_escriba),
		//				  .termino_escribir_o(write_end), .value_escribir_o(value_escribir_o),.value_display_o(display_escribir_o),.display_dos_o(display_dos_escribir),.direccion_o(direccion_escribir));
	//Lectura
	//lectura Reader(._clk_seg_i(_clk_seg_o), .Input_Parameter_i(Input_Parameter_i), .lea_i(wire_lea), .value_leer_i(value_leer_i),
		//				.termino_leer_o(read_end), .fail_o(wire_fail),.value_display_o(display_leer_o),.display_dos_o(display_dos_leer),.direccion_o(direccion_leer));
	
	ReaderWriter RW(._clk_seg_i(_clk_seg_o),.Input_Parameter_i(Input_Parameter_i),.escriba_i(wire_escriba),.lea_i(wire_lea),.value_io(value_io),.termino_o(wire_end),.fail_o(wire_fail),.value_display_o(value_display_o),.display_dos_o(display_dos_o),.direccion_o(direccion_o));
	//FSM
	MaquinaEstadosFinitos FSM(._clk_i(_clk_i), .termino_i(wire_end), .fallo_i(wire_fail), ._rst_i(_rst_i),
									  .led_leer_o(led_leer_o), .led_escribir_o(led_escribir_o), .led_OK_o(led_OK_o), .led_fallo_o(led_fallo_o), .escriba_o(wire_escriba), .lea_o(wire_lea));
									  
   //RAM
	//RAM SRAM(.Direccion_i(direccion_o),.Write_Enable_i(wire_lea),.Output_Enable_i(wire_escriba),.Datos_Entrada_i(value_escribir_o),.Datos_Salida_o(value_leer_i));
	
endmodule
